向量投影

投影矩阵 P , 作用与向量 b 产生向量的投影 p=Pb

P1=[000000001] 将向量投影到 z 轴上
P2=[100010000] 将向量投影到 xy 平面上

投影到直线上

将向量 b 投影到 a 上,投影为 p
误差向量 e=b−p 记 p=x^a
e⋅a=0⇒a⋅(b−x^a)=0⇒x^=a⋅ba⋅a=aT⋅baT⋅a
p=ax^=aaT⋅baT⋅a=a⋅aTaT⋅ab=Pb

投影向量:

p=x^a=aT⋅baT⋅aa

投影矩阵:

P=aaTaTa

特殊性质:幂等

投影到子空间上

寻找线性组合使得与原向量的距离最小(误差最小)

AT(b−Ax^)=0⇒ATAx^=ATb

参数估计向量:

x^=(ATA)−1ATb

预测值向量/投影向量:

p=Ax^=A(ATA)−1ATb

将 b 投影到 A 的列空间中

投影矩阵:

P=A(ATA)−1AT

最小二乘法


AI 结构化补充(2026-05-02)

定义与直线公式

Vector Projection) 向量投影是在给定方向或子空间中取出一个向量的“可解释分量”。在直线情形中,给定非零向量 a∈Rm 和任意向量 b,把 b 投影到 span(a) 上,就是寻找这条直线上离 b 最近的点 p。

因为 p 位于 span(a),必可写成

p=x^a.

误差向量为

e=b−p=b−x^a.

投影的决定性条件是误差与方向 a 正交:

aT(b−x^a)=0.

展开后得到

aTb−x^aTa=0,

于是

x^=aTbaTa.

因此线投影的标准公式是

p=aaTbaTa=aTbaTaa.

这里 aTa=∥a∥2>0 是必要边界条件;若 a=0,直线方向不存在,投影公式也没有意义。

同一公式用点积写为

projab=a⋅ba⋅aa.

缩放方向向量不会改变投影:用 ka 代替 a 时,分子和分母中的 k 会抵消,目标直线仍是同一条直线。

直线投影的计算顺序很固定:先由

aT(b−x^a)=0

求出 x^,再写出 p=x^a,最后把 p 写成 Pb 以读出投影矩阵。这个顺序会原样推广到列空间投影:先找最佳系数,再找投影向量,最后找产生投影的矩阵。

正交误差与最近点

向量投影不是把 b “压短”到 a 上,而是把 b 分解为

b=p+e,p∈span(a),e⊥a.

由构造可直接验证

aTe=aT(b−aaTbaTa)=aTb−aTaaTbaTa=0.

这个正交条件同时给出最近点性质。任取直线上的另一点 y=ta,因为 p−y∈span(a) 且 e⊥span(a),

b−y=e+(p−y),

所以

∥b−y∥2=∥e∥2+∥p−y∥2≥∥e∥2.

等号只在 y=p 时成立,因此 p 是直线上离 b 最近的唯一点。这就是投影定理在线投影中的最小距离形式。

两个边界情形很常用:若 b 已经平行于 a,则 p=b、e=0;若 b⊥a,则 aTb=0,所以 p=0、e=b。

例如取

a=[122],b=[111].

有 aTb=5、aTa=9,所以

p=59a=[5/910/910/9],e=b−p=[4/9−1/9−1/9].

也就是 p=(5/9,10/9,10/9)T。
检查误差:

aTe=49−29−29=0.

直线投影矩阵

直线投影也可以写成矩阵乘法。由

p=aaTbaTa

可把乘在 b 前面的矩阵读出为

P=aaTaTa.

于是

p=Pb.

这是投影到 span(a) 的秩一投影矩阵。它满足

P2=P,PT=P.

P2=P 表示投影一次后已经落在目标直线上,再投影不会改变结果;PT=P 表示这是正交投影,误差方向正好落在 span(a)⊥。

对上面的 a=(1,2,2)T,

P=19[122244244].

这个矩阵的每一列都是 a 的倍数,因此

C(P)=span(a),rankP=1.

对 b=(1,1,1)T,矩阵乘法给出

Pb=19[122244244][111]=[5/910/910/9]=p.

它把任意 b 送到这条直线上,而 I−P 把 b 送到垂直于 a 的平面:

(I−P)b=b−Pb=e.

从直线到列空间

线投影是子空间投影的 1 维特例。若矩阵

A=[a1 ⋯ an]∈Rm×n

的列向量张成目标子空间 C(A),则投影点写成

p=Ax^.

误差为

e=b−Ax^.

正交投影要求误差垂直于 C(A) 中的每个方向,等价于误差垂直于 A 的每一列:

AT(b−Ax^)=0.

这给出正规方程

ATAx^=ATb.

这里 ATA 是 n×n 对称矩阵。若 A 的列线性无关,则

N(ATA)=N(A)={0},

所以 ATA 可逆,最优系数为

x^=(ATA)−1ATb,

投影向量为

p=Ax^=A(ATA)−1ATb.

当 n=1 且 A=a 时,这些公式退化回

p=aaTbaTa.

例如把

A=[101112],b=[600]

中的 b 投影到 C(A)。有

ATA=[3335],ATb=[60].

正规方程给出

x^=[5−3],p=Ax^=[52−1],e=b−p=[1−21].

检验逻辑不是重新求距离,而是检查误差垂直于每一列:

[111]Te=1−2+1=0,[012]Te=−2+2=0.

与最小二乘的关系

投影到列空间就是求解最近点问题

minx∥b−Ax∥2.

最优点 Ax^ 的残差

e=b−Ax^

必须满足

ATe=0,

即 e∈C(A)⊥=N(AT)。在线性回归中,Ax^ 是预测向量,e 是残差向量;残差与设计矩阵每一列正交,说明沿已有特征方向继续微调不会降低平方误差。

若 A 的列不独立,ATA 不可逆,公式 A(ATA)−1AT 不能直接使用;此时应先取 C(A) 的一组基,或用 QR、SVD 等方式得到同一列空间的标准正交基。投影依赖的是目标子空间,而不是某组可能冗余的生成向量。

也不能在一般矩形矩阵上把 (ATA)−1 拆成 A−1(AT)−1。多数列空间投影问题中的 A 是 m×n 矩形矩阵,A−1 根本不存在;只有当 A 方阵且可逆时,目标列空间已经是整个 Rm,此时投影矩阵才退化为 I。

正交误差把“最近点”条件写成误差正交,投影矩阵把同一个几何操作写成线性算子,最小二乘法则把列空间投影用于不可精确求解的线性方程组。